1. Field of the Invention
This invention relates generally to computer graphics systems and more particularly to a method and apparatus to more efficiently display and fill a computer generated image on a display screen.
2. Description of the Related Art
The images presented on display screens for portable consumer electronics are becoming more complex to achieve a higher quality image partly in response to the consumer demand for these handheld devices. Devices such as personal digital assistants (PDA), mobile phones, pagers, web tablets, etc., all include small screens for displaying text and graphics. The presentation of the text and graphics on the screen requires that image lines having a certain width, also referred to as a pen width, be accommodated. These image lines, which can be straight or curved, are displayed on a screen, such as a liquid crystal display (LCD) screen, by defining which pixels are drawn. As the files being displayed on the screens become more complex with a higher resolution, the increased processing demands on the embedded systems of the handheld devices causes a bottleneck, which in turn, may delay the presentation of the graphical image on the display screen. Additionally, the embedded systems for controlling these handheld devices are limited in terms of memory and computing power due to their compact nature, which further aggravates the bottleneck.
FIG. 1 is an enlarged schematic diagram of a computer generated curve being drawn for a display on a computer screen, such as a LCD screen. The curve is defined between lines 100 and 102, which provide the borders between which the image is filled. Pen width 104 is defined as the distance between lines 100 and 102. Region 106 corresponds to an area on a display screen that defines a group of pixels. The group of pixels corresponding to region 106 is filled as the image is drawn on a display screen. Once the area defined by region 106 is filled, the footprint is advanced one unit along line 100, to define another group of pixels to be filled. The group of pixels corresponding to region 108, which is defined by the footprint as it is advanced one unit, is then drawn. However, region 110, which is the overlap of regions 106 and 108, is drawn twice in this process. That is, region 110, is written once as defined by region 106 and is overwritten as defined by region 108, resulting in wasted processing time. This overwriting process is repeated until the entire graphic is drawn.
Another shortcoming of executing the algorithm for displaying an image in software as described above, is the amount of overhead associated with execution of the algorithm. Thus, the inefficient processing from the overwriting of previously drawn pixels mentioned above, comes at a high cost in terms of overhead. Furthermore, the handheld devices are constantly shrinking and being configured to consume less power. Since, the embedded systems controlling these devices is limited in terms of computing power, there is a need to minimize overhead. As products having increased resolution and capabilities for displaying complex graphical images come to market, the processing bottlenecks must be addressed in order to efficiently display the images without sacrificing the quality of the display.
As a result, there is a need to solve the problems of the prior art to provide a method for efficiently processing computer generated graphical image data for display and to a hardware acceleration solution to minimize the overhead associated with the software execution.